use tonic::{Request, Response, Status};
use bigdecimal::BigDecimal;
use serde::{Serialize, Deserialize};

// use asset::asset_service_server::{ OrderService, OrderServiceServer };
// use asset::{ OrderRequest, OrderResponse, Order };
//
// #[derive(Debug)]
// struct MyService;
//
// trait AssetService {
//     async fn process_amount(
//         &self,
//         request: Request<AmountRequest>,
//     ) -> Result<Response<AmountResponse>, Status>;
// }
// #[derive(Serialize, Deserialize)]
// struct Amount {
//     value: BigDecimal,
// }
//
// #[tonic::async_trait]
// impl AssetService for MyService {
//     async fn process_amount(
//         &self,
//         request: Request<AmountRequest>,
//     ) -> Result<Response<AmountResponse>, Status> {
//         let amount = BigDecimal::from_str(&request.get_ref().amount)
//             .map_err(|_| Status::invalid_argument("Invalid amount"))?;
//
//         // 进行计算...
//         let result = amount * BigDecimal::from(2);
//
//         Ok(Response::new(AmountResponse {
//             result: result.to_string(),
//         }))
//     }
// }
